package com.condominio.dao;

import java.util.ArrayList;
import java.util.List;

import oracle.toplink.essentials.mappings.converters.Converter;

import com.condominio.model.Admin;
import com.condominio.model.Pessoa;

public class PessoaDao extends GenericDao<Pessoa>{

	public PessoaDao() {
		super();
	}

	@SuppressWarnings("unchecked")
	public List<Pessoa> findAllPessoas() {
		return super.findAllByQuery("SELECT p FROM Pessoa p ORDER BY p.id");
	}

	public Pessoa findPessoaByLoginAndSenha(Pessoa p) {
		return (Pessoa)super.findByQuery("select p from Pessoa p where p.login like '"+p.getLogin()+"' and p.senha like '"+p.getSenha()+"'");
	}

	public Pessoa findPessoaByAP(Pessoa p){
		return (Pessoa)super.findByQuery("select p from Pessoa p where p.apartamento="+p.getApartamento());
	}

	@SuppressWarnings("unchecked")
	private List<Pessoa> findAllPessoasByPrivilegio(int i) {
		return (List<Pessoa>)super.findAllByQuery("select p from Pessoa p where p.privilegio ="+i);
	}
	//consultas especificas

	public List<Pessoa> qr2PegarAdministradoresDoCondominio() {
		return this.findAllPessoasByPrivilegio(Pessoa.ADMINISTRADOR);
	}

	public int qr6AtualizarNomePessoaByPessoa(String antigo, String novo) {
		return super.updadeAll("update Pessoa p SET p.nome = '"+novo+"' where p.nome like '"+antigo+"'");
	}




}
